fix(convention): 품질 게이트 복구와 테스트 안정화 - #87
Conversation
lint를 막던 훅 규칙 위반과 unused 코드, 설정 문제를 정리했어요. MDX 컴포넌트 호출 방식과 dev overlay 조건 분기를 바로잡고 빌드와 정적 검증을 깨던 공통 소스 파일을 안정화했어요.
framer-motion과 next/image 테스트 목업을 정리해서 경고와 lint 노이즈를 줄였어요. 모바일 전용 회귀 시나리오는 desktop 프로젝트에서 제외하고 홈 시리즈 이동 smoke 테스트를 더 안정적인 경로 검증 방식으로 바꿨어요.
현재 저장소 가이드와 충돌하는 구조 평탄화 계획을 active에서 제거했어요. completed 폴더로 옮기고 superseded 상태를 명시해서 다시 같은 방향으로 오해하고 진행하지 않도록 정리했어요.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6bef1ff144
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }); | ||
| await expect(engineeringTab).toHaveAttribute('href', '/engineering'); | ||
| await warmRoute(page, '/engineering'); | ||
| await page.goto('/engineering'); |
There was a problem hiding this comment.
Exercise mobile nav links through user clicks
This smoke test now verifies each tab’s href and then navigates with page.goto(...) instead of clicking the tab, so it no longer validates that the bottom-nav UI is actually interactable. If a regression makes links unclickable on mobile (e.g., overlay/pointer-events/z-index issues) while keeping the href intact, this test will still pass and miss a user-facing navigation break.
Useful? React with 👍 / 👎.
| const response = await page.request.get(targetHref); | ||
| expect(response.ok()).toBeTruthy(); | ||
|
|
||
| await page.goto(targetHref); |
There was a problem hiding this comment.
Keep series-card smoke flow click-driven
The scenario is described as moving from the home series card to the series detail page, but after reading the link href it jumps with page.goto(targetHref), which bypasses the card interaction itself. This means the test can pass even when the card is visible but not clickable, weakening smoke coverage for a core home-page navigation path.
Useful? React with 👍 / 👎.
What changed
next/image와framer-motion테스트 목업을 정리하고, 모바일 전용 시나리오를 데스크톱 프로젝트에서 건너뛰도록 조정했습니다.navigation-ia플래키를 줄였습니다.test:unit스크립트를vitest run으로 보정하고,jsdom을 현재 개발 런타임과 호환되는26.1.0으로 내려 unit test 런타임 이슈를 해소했습니다.Why
lint와e2e가 깨져 있어 기본 품질 게이트가 유지되지 않았습니다.jsdom@27계열은 현재 개발 환경의 Node20.12.2보다 높은 런타임을 요구했고, 그 결과html-encoding-sniffer/@exodus/bytes체인에서 unit test가 시작 단계부터 실패했습니다.Impact
npm run lint,npm run lint:css:syntax,npm run test:unit,npm run test:e2e,npm run test:ci,npm run build가 이 브랜치에서 통과합니다.jsdom@26.1.0경로로 고정되어 Node>=18환경과 맞추었습니다.Validation
npm run test:cinpm run build